package com.situ.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.situ.domain.dto.*;
import com.situ.domain.entity.TUser;
import com.situ.domain.vo.BasePageQueryVO;
import com.situ.domain.vo.BussinessReportVO;
import com.situ.domain.vo.UserReportVO;

public interface UserService extends IService<TUser> {

    void register(RegisterDTO registerDTO);

    /**
     * 用户登录
     * @param registerDTO
     * @return
     */
    String userLogin(LogInDTO logInDTO);

    /**
     * 修改用户密码
     * @param userPasswordDTO
     */
    void changeUserPassword(ChangeUserPasswordDTO userPasswordDTO);

    /**
     * 获取用户信息
     * @return
     */
    UserInfoDTO getUserInfo();

    /**
     * 分页查询用户列表
     * @param pageQueryDTO
     * @return
     */
    BasePageQueryVO<TUser> searchUsersByPage(UserPageQueryDTO pageQueryDTO);

    void changeStatus(Integer uid, Integer isDelete);

    /**
     * 获取用户报表
     * @return
     */
    UserReportVO geUserReport();

    /**
     * 获取运营数据_用户报表
     * @return
     */
    BussinessReportVO.UserReport getBussinessUserReport();
}
